<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="generator" content="MATLAB R2018a"><meta http-equiv="X-UA-Compatible" content="IE=edge,IE=9,chrome=1"><title>Truck Platooning</title><style type="text/css">
* {margin: 0; padding: 0;}
body {text-align: start; line-height: 17.234001159668px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-style: normal; font-size: 13.9999990463257px; font-weight: normal; text-decoration: none; white-space: normal; }
h1, h2 {font-weight: normal;}
.content { padding: 30px; }

.S0 { margin-left: 0px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }
.S1 { text-align: center; line-height: 26.3999977111816px; min-height: 24px; white-space: pre-wrap; color: rgb(213, 80, 0); font-family: Helvetica, Arial, sans-serif; font-size: 22px; white-space: pre-wrap; margin-left: 4px; margin-top: 3px; margin-bottom: 15px; margin-right: 10px;  }
.S2 { min-height: 0px; margin-left: 0px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }
.S3 { font-weight: bold; margin-left: 0px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }
.S4 { text-align: left; line-height: 20.576000213623px; min-height: 20px; white-space: pre-wrap; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-size: 16px; font-weight: bold; white-space: pre-wrap; margin-left: 4px; margin-top: 15px; margin-bottom: 9px; margin-right: 10px;  }
.S5 { text-align: left; line-height: 21px; min-height: 17px; white-space: pre-wrap; font-family: Helvetica, Arial, sans-serif; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px;  }
.S6 { font-family: Helvetica, Arial, sans-serif; margin-left: 0px; margin-top: 10px; margin-bottom: 20px; margin-right: 0px;  }
.S7 { text-align: left; line-height: 20.9999980926514px; white-space: pre-wrap; white-space: pre-wrap; margin-left: 55.9999961853027px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }
.S8 { font-style: italic; margin-left: 0px; margin-top: 0px; margin-bottom: 0px; margin-right: 0px;  }

.CodeBlock {margin: 10px 0 10px 0; background-color: #F7F7F7;}
.CodeBlock+.paragraphNode {margin-top: 10px;}
.lineNode {padding-left: 10px; border-left: 1px solid #E9E9E9; border-right: 1px solid #E9E9E9;}
.inlineWrapper:first-child .lineNode,.inlineWrapper.outputs+.inlineWrapper .lineNode {padding-top: 5px; border-top: 1px solid #E9E9E9;}
.inlineWrapper:last-child .lineNode,.inlineWrapper.outputs .lineNode {padding-bottom: 5px; border-bottom: 1px solid #E9E9E9;}
.lineNode .textBox {white-space: pre;}
</style></head><body><div class = "content"><div class = 'SectionBlock containment active'><h1 class = "S1"><span class = "S2"><span class="S3">Truck Platooning</span></span></h1><h2 class = "S4"><span class = "S2"><span class="S0">Introduction</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">Truck platooning enables a group of trucks to travel closely together, maintaining a safety gap. The platoon leader governs the movement of following trucks. This is achieved through V2V communication.</span></span></div><h2 class = "S4"><span class = "S2"><span class="S0">Aim of the example</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">The example models a vehicular communication network involving a truck-platoon, an RSU (road-side unit), and a few non-platoon vehicles in adjacent lanes. It analyzes the performance of truck platoon by varying the parameters at various layers of the communications system.</span></span></div><h2 class = "S4"><span class = "S2"><span class="S0">MATLAB-NS3 Interface</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">The core simulation runs in NS-3 with scenario description written in MATLAB. The NS-3 library functions are called via Mex-bindings interface from MATLAB. Along with the scenario, the features implemented in MATLAB are:</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Highway Topology creation.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Packet construction of all types.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Mobility intelligence based on the received packets.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Post-simulation visualization.</span></span></li></ul><h2 class = "S4"><span class = "S2"><span class="S0">What is not in scope of this demo</span></span></h2><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Lateral movement i.e. no steering involved. No backward movement either.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Dynamic platoon formation (or segregation)</span></span></li></ul><h2 class = "S4"><span class = "S2"><span class="S0">Scenario Description</span></span></h2><div class = "S5"><span class = "S2"><span class="S0"> </span></span><img class="imageNode" width="613.7744567871094" style="vertical-align: baseline" src=""></div><div class = "S5"><span class = "S2"><span class="S0">A pre-formed platoon of trucks moves on a lane of a straight highway. Other lanes of the highway have non-platoon traffic.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">All the trucks have WAVE stack (over 802.11p) installed on them. As only straight-line motion is covered, the only controls enabled on vehicles are acceleration and deceleration. The aim is to ensure that gap between consecutive trucks is within an acceptable range so that they are neither too close nor too far apart, using the V2V platoon-beacon packet transmissions. The lower and upper limit of acceptable gap can be configured by the user.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">If platoon leader decelerates, the following trucks decelerate to maintain safe gap and avoid rear-end collision. Likewise, the trucks accelerate if their respective preceding truck accelerates, to make sure that trucks are within a threshold distance of each other.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">To simulate deceleration of platoon trucks, a rough patch of road with a lower speed limit is created. An RSU which periodically broadcasts ‘warning’ packets, is placed near this rough patch.</span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">When platoon leader listens to the warning packet, it decelerates (only if required as platoon might already be moving at lesser pace) such that velocity reduces to acceptable speed limit of rough patch. Following the platoon leader, based on V2V communication, other trucks on the platoon decelerate too.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">Once platoon leader crosses the rough patch it starts accelerating, which in turn makes other following trucks accelerate too for limiting the inter-vehicular gap.</span></span></div><div class = "S5"><span class = "S2"><span class="S3">Note:</span></span><span class = "S2"><span class="S3"> </span></span><span class = "S2"><span class="S0">The platoon leader starts accelerating as soon as it crosses the rough patch and broadcasts the same. So, the trailing trucks (which are unaware that they are on rough patch) might start accelerating even before they cross the rough patch.</span></span></div><h2 class = "S4"><span class = "S2"><span class="S0">Communication model</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">Scenario involves three different packet types, each sent periodically:</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Platoon-beacon transmitted by trucks in the platoon.</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">                a)  With information of sender: instantaneous position, velocity and acceleration.</span></span><span class = "S2"><span class="S0"> </span></span></div><div class = "S5"><span class = "S2"><span class="S0">                b)  Only processed by the truck just behind the sending one for acceleration/deceleration decisions.</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Rough patch warning transmitted by Road-Side Unit.</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">                a)  With information about rough patch of road:</span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">start point, length and speed limit on it.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">                b)  Only processed by platoon leader for decelerating.</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Packets sent by non-platoon vehicles, to model network interference</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">Quite expectedly, communication loss can hamper the platoon-movement. If a truck loses a platoon-beacon from its preceding truck due to network conditions, it does not get its updated position/ velocity/ acceleration information. The affect gets amplified if it loses a few consecutive packets at a stretch, affecting the stability or safety of the platoon. So, the platoon is said to be failed if burst-loss is more than a bearable value.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">Similarly, if platoon leader receives ‘rough patch warning’ only when it is very near to rough patch, it might have to decelerate aggressively (which can be uncomfortable) or might even go over the rough patch with speed over the safety limit.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">NOTE: All the packets of vehicles (platoon and non-platoon) are sent and received on CCH channel as WSMP (WAVE Short Message Protocol) packets.</span></span></div><h2 class = "S4"><span class = "S2"><span class="S0">Configuration Parameters</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">a)  Communication</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">PHY parameters for platoon and non-platoon trucks</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">                i)  TX gain, Rx gain, Rx Noise figure</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Log-distance propagation loss model parameters</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">                ii)     Path loss exponent, reference distance, reference loss.</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Application level parameters</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">                i)      ‘Platoon-beacon’ generation frequency.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">                ii)     ‘Rough Patch’ warning packet generation frequency.</span></span></div><div class = "S5"><span class = "S2"><span class="S0">                iii)    Non-platoon vehicle packet generation frequency.</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Limit on consecutive platoon-beacon loss, to consider it as unsafe.</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">b)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Highway Model and Other vehicles</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Highway Length, Lane count, Lane width</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Rough road patch (start &amp; length), safe speed limit on rough road patch.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Start positions for the non-platoon vehicles on their respective lanes.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Velocity of the non-platoon vehicles</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">c)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Platoon vehicles configuration</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Number of trucks in the platoon, and truck length</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Initial standstill gap between trucks in the platoon.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Max speed limit, Max deceleration/acceleration allowed.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Min/Max allowed gap between consecutive trucks (in terms of time units)</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">d)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Mobility Model for vehicles - Constant Acceleration Model &amp; its parameters</span></span></div><h2 class = "S4"><span class = "S2"><span class="S0">Results and Analysis</span></span></h2><div class = "S5"><span class = "S2"><span class="S0">While the simulation is running, the results are gathered into log files. The results include:</span></span></div><div class = "S5"><span class = "S2"><span class="S0">a)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">Packet statistics at application level for each truck in the platoon</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Number of platoon-beacons transmitted by each truck</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Number of preceding truck’s platoon-beacons received successfully (0 for 1st truck)</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Number of preceding truck’s platoon-beacons corrupted</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Worst gap between reception of platoon-beacon from preceding truck</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Burst-losses (i.e. consecutive lost packets) count for platoon-beacons from preceding truck</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Total number of packets received successfully, including those from non-platoon vehicles</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0">b)</span></span><span class = "S2"><span class="S0">     </span></span><span class = "S2"><span class="S0"> </span></span><span class = "S2"><span class="S0">MAC/PHY statistics for each truck in the platoon</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Total number of corrupted Rx packets, including those from non-platoon vehicles</span></span></li></ul><div class = "S5"><span class = "S2"><span class="S0"></span></span></div><div class = "S5"><span class = "S2"><span class="S0">A visualization script reads the simulation results from log files, analyzes them and performs visualization. The visualization includes:</span></span></div><ul class = "S6"><li class = "S7"><span class = "S0"><span class="S0">Graphical visualization of highway, platoon, other vehicles and their movement.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Instantaneous velocity, acceleration and gap for each truck in the platoon</span></span></li><li class = "S7"><span class = "S0"><span class="S0">Packet metrics</span></span></li><li class = "S7"><span class = "S0"><span class="S0">In case the vehicles are closer than the safe gap, the corresponding vehicle changes to red color.</span></span></li><li class = "S7"><span class = "S0"><span class="S0">If the platoon communication is lost for a truck (reached the limit of consecutive platoon-beacon losses), a message pops up in the visualizer indicating platoon-failure.</span></span></li></ul></div></div><br><!-- <br>##### SOURCE BEGIN #####<br>%% *Truck Platooning*<br>%% Introduction<br>% Truck platooning enables a group of trucks to travel closely together, maintaining <br>% a safety gap. The platoon leader governs the movement of following trucks. This <br>% is achieved through V2V communication.<br>%% Aim of the example<br>% The example models a vehicular communication network involving a truck-platoon, <br>% an RSU (road-side unit), and a few non-platoon vehicles in adjacent lanes. It <br>% analyzes the performance of truck platoon by varying the parameters at various <br>% layers of the communications system.<br>%% MATLAB-NS3 Interface<br>% The core simulation runs in NS-3 with scenario description written in MATLAB. <br>% The NS-3 library functions are called via Mex-bindings interface from MATLAB. <br>% Along with the scenario, the features implemented in MATLAB are:<br>% <br>% * Highway Topology creation.<br>% * Packet construction of all types.<br>% * Mobility intelligence based on the received packets.<br>% * Post-simulation visualization.<br>%% What is not in scope of this demo<br>% * Lateral movement i.e. no steering involved. No backward movement either.<br>% * Dynamic platoon formation (or segregation)<br>%% Scenario Description<br>%  <br>% <br>% A pre-formed platoon of trucks moves on a lane of a straight highway. Other <br>% lanes of the highway have non-platoon traffic.<br>% <br>% All the trucks have WAVE stack (over 802.11p) installed on them. As only <br>% straight-line motion is covered, the only controls enabled on vehicles are acceleration <br>% and deceleration. The aim is to ensure that gap between consecutive trucks is <br>% within an acceptable range so that they are neither too close nor too far apart, <br>% using the V2V platoon-beacon packet transmissions. The lower and upper limit <br>% of acceptable gap can be configured by the user.<br>% <br>% If platoon leader decelerates, the following trucks decelerate to maintain <br>% safe gap and avoid rear-end collision. Likewise, the trucks accelerate if their <br>% respective preceding truck accelerates, to make sure that trucks are within <br>% a threshold distance of each other.<br>% <br>% To simulate deceleration of platoon trucks, a rough patch of road with <br>% a lower speed limit is created. An RSU which periodically broadcasts ‘warning’ <br>% packets, is placed near this rough patch.  When platoon leader listens to the <br>% warning packet, it decelerates (only if required as platoon might already be <br>% moving at lesser pace) such that velocity reduces to acceptable speed limit <br>% of rough patch. Following the platoon leader, based on V2V communication, other <br>% trucks on the platoon decelerate too.<br>% <br>% Once platoon leader crosses the rough patch it starts accelerating, which <br>% in turn makes other following trucks accelerate too for limiting the inter-vehicular <br>% gap.<br>% <br>% *Note: *The platoon leader starts accelerating as soon as it crosses the <br>% rough patch and broadcasts the same. So, the trailing trucks (which are unaware <br>% that they are on rough patch) might start accelerating even before they cross <br>% the rough patch.<br>%% Communication model<br>% Scenario involves three different packet types, each sent periodically:<br>% <br>% * Platoon-beacon transmitted by trucks in the platoon.<br>% <br>%                 a)  With information of sender: instantaneous position, <br>% velocity and acceleration. <br>% <br>%                 b)  Only processed by the truck just behind the sending <br>% one for acceleration/deceleration decisions.<br>% <br>% * Rough patch warning transmitted by Road-Side Unit.<br>% <br>%                 a)  With information about rough patch of road:  start <br>% point, length and speed limit on it.<br>% <br>%                 b)  Only processed by platoon leader for decelerating.<br>% <br>% * Packets sent by non-platoon vehicles, to model network interference<br>% <br>% Quite expectedly, communication loss can hamper the platoon-movement. If <br>% a truck loses a platoon-beacon from its preceding truck due to network conditions, <br>% it does not get its updated position/ velocity/ acceleration information. The <br>% affect gets amplified if it loses a few consecutive packets at a stretch, affecting <br>% the stability or safety of the platoon. So, the platoon is said to be failed <br>% if burst-loss is more than a bearable value.<br>% <br>% Similarly, if platoon leader receives ‘rough patch warning’ only when it <br>% is very near to rough patch, it might have to decelerate aggressively (which <br>% can be uncomfortable) or might even go over the rough patch with speed over <br>% the safety limit.<br>% <br>% NOTE: All the packets of vehicles (platoon and non-platoon) are sent and <br>% received on CCH channel as WSMP (WAVE Short Message Protocol) packets.<br>%% Configuration Parameters<br>% a)  Communication<br>% <br>% * PHY parameters for platoon and non-platoon trucks<br>% <br>%                 i)  TX gain, Rx gain, Rx Noise figure<br>% <br>% * Log-distance propagation loss model parameters<br>% <br>%                 ii)     Path loss exponent, reference distance, reference <br>% loss.<br>% <br>% * Application level parameters<br>% <br>%                 i)      ‘Platoon-beacon’ generation frequency.<br>% <br>%                 ii)     ‘Rough Patch’ warning packet generation frequency.<br>% <br>%                 iii)    Non-platoon vehicle packet generation frequency.<br>% <br>% * Limit on consecutive platoon-beacon loss, to consider it as unsafe.<br>% <br>% b)      Highway Model and Other vehicles<br>% <br>% * Highway Length, Lane count, Lane width<br>% * Rough road patch (start & length), safe speed limit on rough road patch.<br>% * Start positions for the non-platoon vehicles on their respective lanes.<br>% * Velocity of the non-platoon vehicles<br>% <br>% c)      Platoon vehicles configuration<br>% <br>% * Number of trucks in the platoon, and truck length<br>% * Initial standstill gap between trucks in the platoon.<br>% * Max speed limit, Max deceleration/acceleration allowed.<br>% * Min/Max allowed gap between consecutive trucks (in terms of time units)<br>% <br>% d)      Mobility Model for vehicles - Constant Acceleration Model & its <br>% parameters<br>%% Results and Analysis<br>% While the simulation is running, the results are gathered into log files. <br>% The results include:<br>% <br>% a)      Packet statistics at application level for each truck in the platoon<br>% <br>% * Number of platoon-beacons transmitted by each truck<br>% * Number of preceding truck’s platoon-beacons received successfully (0 for <br>% 1st truck)<br>% * Number of preceding truck’s platoon-beacons corrupted<br>% * Worst gap between reception of platoon-beacon from preceding truck<br>% * Burst-losses (i.e. consecutive lost packets) count for platoon-beacons from <br>% preceding truck<br>% * Total number of packets received successfully, including those from non-platoon <br>% vehicles<br>% <br>% b)      MAC/PHY statistics for each truck in the platoon<br>% <br>% * Total number of corrupted Rx packets, including those from non-platoon vehicles<br>% <br>% <br>% <br>% A visualization script reads the simulation results from log files, analyzes <br>% them and performs visualization. The visualization includes:<br>% <br>% * Graphical visualization of highway, platoon, other vehicles and their movement.<br>% * Instantaneous velocity, acceleration and gap for each truck in the platoon<br>% * Packet metrics<br>% * In case the vehicles are closer than the safe gap, the corresponding vehicle <br>% changes to red color.<br>% * If the platoon communication is lost for a truck (reached the limit of consecutive <br>% platoon-beacon losses), a message pops up in the visualizer indicating platoon-failure.<br>##### SOURCE END #####<br>--></body></html>